# Docker构建脚本 - PowerShell版本 - 支持代理配置
# 使用方法：.\docker-build.ps1 [proxy-url]

param(
    [string]$ProxyUrl = ""
)

Write-Host "🐳 开始Docker构建..." -ForegroundColor Green

# 检查是否提供了代理参数
if ($ProxyUrl -ne "") {
    Write-Host "🔄 使用代理: $ProxyUrl" -ForegroundColor Yellow
    $env:HTTP_PROXY = $ProxyUrl
    $env:HTTPS_PROXY = $ProxyUrl
    $env:NO_PROXY = "localhost,127.0.0.1"
} else {
    Write-Host "📡 不使用代理构建" -ForegroundColor Blue
}

# 检查环境变量文件
if (-not (Test-Path ".env.prod")) {
    Write-Host "⚠️ 警告：未找到 .env.prod 文件，将使用默认配置" -ForegroundColor Yellow
}

# 构建镜像
Write-Host "🏗️ 构建Docker镜像..." -ForegroundColor Blue

try {
    if ($ProxyUrl -ne "") {
        # 使用代理构建
        docker-compose -f docker-compose.prod.yml build --build-arg HTTP_PROXY=$ProxyUrl --build-arg HTTPS_PROXY=$ProxyUrl --build-arg NO_PROXY=localhost,127.0.0.1
    } else {
        # 不使用代理构建
        docker-compose -f docker-compose.prod.yml build
    }
    
    Write-Host "✅ Docker镜像构建完成！" -ForegroundColor Green
    Write-Host ""
    Write-Host "🚀 部署命令：" -ForegroundColor Cyan
    Write-Host "  启动服务: docker-compose -f docker-compose.prod.yml --env-file .env.prod up -d" -ForegroundColor White
    Write-Host "  查看状态: docker-compose -f docker-compose.prod.yml ps" -ForegroundColor White
    Write-Host "  查看日志: docker-compose -f docker-compose.prod.yml logs -f" -ForegroundColor White
    
} catch {
    Write-Host "❌ Docker构建失败: $($_.Exception.Message)" -ForegroundColor Red
    exit 1
}
